package com.prolificinteractive.materialcalendarview;

/**
 * Use math to calculate first days of months or weeks by position from a minimum date (and first
 * day of week in case of weekly range).
 *
 * @since 2021-07-14
 */
interface DateRangeIndex {
    /**
     * Count of pages displayed between 2 dates.
     *
     * @return return
     */
    int getCount();

    /**
     * Index of the page where the date is displayed.
     *
     * @param day day
     * @return return
     */
    int indexOf(CalendarDay day);

    /**
     * Get the first date at the position within the index.
     *
     * @param position position
     * @return return
     */
    CalendarDay getItem(int position);
}
